Embodiments of the present invention relate to system testing and, more specifically, to verifying proper operation of the Instruction Execution Protection (IEP) architecture.
Main memory includes both instructions and data. Generally, execution of data should be avoided, as such execution can lead to unexpected results given that data is not meant to be treated as instructions. However, a malicious program may attempt to execute data in memory specifically to harm to the computer system.
IEP is an architecture introduced with zMidas processors of the z System® by International Business Machines®. IEP is designed to prevent data portions of memory from being executed. Specifically, IEP associates a bit with each page table. Page tables provide mappings between virtual addresses and physical addresses in main memory. When the IEP bit of a page table is set, execution of information stored in a virtual address can be prevented, as such execution requires translation through the applicable page table.